#!/bin/bash

# MySQL 8.0 完全卸载脚本
# 注意：此操作会删除所有MySQL数据，请确保已备份重要数据

# 确保脚本以root权限运行
if [ "$(id -u)" -ne 0 ]; then
    echo "此脚本需要以root权限运行，请使用sudo或切换到root用户" >&2
    exit 1
fi

echo "=== 开始卸载MySQL 8.0 ==="

# 1. 停止MySQL服务
echo "=== 停止MySQL服务 ==="
systemctl stop mysqld
systemctl disable mysqld

# 2. 查看已安装的MySQL包
echo "=== 列出已安装的MySQL包 ==="
MYSQL_PACKAGES=$(rpm -qa | grep -i mysql)
echo "$MYSQL_PACKAGES"

# 3. 卸载所有MySQL相关包
if [ -n "$MYSQL_PACKAGES" ]; then
    echo "=== 卸载MySQL包 ==="
    yum remove -y $MYSQL_PACKAGES
else
    echo "=== 未检测到已安装的MySQL包 ==="
fi

# 4. 删除MySQL数据目录（包含所有数据库文件）
echo "=== 删除MySQL数据目录 ==="
rm -rf /var/lib/mysql
rm -rf /var/log/mysqld.log

# 5. 删除MySQL配置文件
echo "=== 删除MySQL配置文件 ==="
rm -rf /etc/my.cnf
rm -rf /etc/my.cnf.d

# 6. 删除MySQL仓库配置
echo "=== 删除MySQL仓库配置 ==="
rm -rf /etc/yum.repos.d/mysql-community.repo
rm -rf /etc/yum.repos.d/mysql-community-source.repo

# 7. 清理yum缓存
echo "=== 清理yum缓存 ==="
yum clean all
rm -rf /var/cache/yum

# 8. 检查是否有残留用户和组并删除
echo "=== 清理MySQL用户和组 ==="
userdel -r mysql 2>/dev/null
groupdel mysql 2>/dev/null

echo "=== MySQL 8.0 卸载完成 ==="
echo "可以重新安装MySQL了"